generic-poky/meta/recipes-qt/qt4/qt4-4.8.6
Krishnanjanappa, Jagadeesh 5bed033beb qt4-embedded: add checking for AArch64 ilp32
1. Cross-compiling qt4-embedded and qt4-x11-free applications for AArch64 ilp32
   (both big and little endian) fails with below error,

(snip)
In file included from ../3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.h:31:0,
                 from ../3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalData.h:32,
                 from ../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h:26,
                 from ../3rdparty/javascriptcore/JavaScriptCore/runtime/ClassInfo.h:26,
                 from ../3rdparty/javascriptcore/JavaScriptCore/runtime/JSObject.h:27,
                 from ../3rdparty/javascriptcore/JavaScriptCore/API/JSCallbackConstructor.h:30,
                 from ../3rdparty/javascriptcore/JavaScriptCore/API/JSCallbackConstructor.cpp:27:
../3rdparty/javascriptcore/JavaScriptCore/wtf/StdLibExtras.h: In instantiation of 'TO QTWTF::bitwise_cast(FROM) [with TO = int; FROM = double]':
../3rdparty/javascriptcore/JavaScriptCore/runtime/JSImmediate.h:52:49: required from here
../3rdparty/javascriptcore/JavaScriptCore/wtf/StdLibExtras.h:63:1: error: size of array is negative
../3rdparty/javascriptcore/JavaScriptCore/wtf/StdLibExtras.h: In instantiation of 'TO QTWTF::bitwise_cast(FROM) [with TO = double; FROM = int]':
../3rdparty/javascriptcore/JavaScriptCore/runtime/JSImmediate.h:57:47: required from here
../3rdparty/javascriptcore/JavaScriptCore/wtf/StdLibExtras.h:63:1: error: size of array is negative
make[1]: *** [obj/release/JSCallbackConstructor.o] Error 1
-- CUT --

    the error is because of JSVALUE64 is being defined while compiling
    programs for AArch64 ilp32. This makes equal condition checking of
    intptr_t and double datatypes as false, and results in -1 (negative)
    as array size in bitwise_cast function.
    The patch defines JSVALUE64, if the programs are being compiled for
    AArch64 64bit NOT for ilp32.

2. qt4_arch.inc is modified to set system architecture as aarch64 if the
   TARGET_ARCH is other than aarch64. Without this modification, for
   TARGET_ARCH equal to aarch64_32, aarch64be, aarch64be_32; the system
   architecture is set as 'generic' and results in below error.

configure log:
(snip)
64-bit AMD 80x86 (x86_64)
'-opensource' is unsupported, using 'generic'
'x86_64' is supported
System architecture: 'generic'
Host architecture: 'x86_64'
-- CUT --

build error:
(snip)
In file included from ../../include/QtCore/qatomic_generic.h:1:0,
                 from ../../include/QtCore/../../src/corelib/arch/qatomic_arch.h:64,
                 from ../../include/QtCore/qatomic_arch.h:1,
                 from ../../include/QtCore/../../src/corelib/thread/qbasicatomic.h:227,
                 from ../../include/QtCore/qbasicatomic.h:1,
                 from ../../include/QtCore/../../src/corelib/thread/qatomic.h:46,
                 from ../../include/QtCore/qatomic.h:1,
                 from ../../include/QtCore/../../src/corelib/tools/qbytearray.h:45,
                 from ../../include/QtCore/qbytearray.h:1,
                 from ../../include/QtCore/../../src/corelib/tools/qstring.h:46,
                 from ../../include/QtCore/qstring.h:1,
                 from ../../include/QtCore/../../src/corelib/kernel/qobject.h:48,
                 from ../../include/QtCore/qobject.h:1,
                 from ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:45,
                 from ../../include/QtCore/qcoreapplication.h:1,
                 from qdbusintegrator.cpp:42:
../../include/QtCore/../../src/corelib/arch/qatomic_generic.h: In instantiation of 'bool QBasicAtomicPointer<T>::testAndSetOrdered(T*, T*) [with T = const QString]':
qdbusintegrator.cpp:76:1:   required from here
../../include/QtCore/../../src/corelib/arch/qatomic_generic.h:197:88: error: invalid conversion from 'const void*' to 'void*' [-fpermissive]
../../include/QtCore/../../src/corelib/arch/qatomic_generic.h:108:20: error: initializing argument 2 of 'bool QBasicAtomicPointer_testAndSetOrdered(void* volatile*, void*, void*)' [-fpermissive]
../../include/QtCore/../../src/corelib/arch/qatomic_generic.h:197:88: error: invalid conversion from 'const void*' to 'void*' [-fpermissive]
../../include/QtCore/../../src/corelib/arch/qatomic_generic.h:108:20: error: initializing argument 3 of 'bool QBasicAtomicPointer_testAndSetOrdered(void* volatile*, void*, void*)' [-fpermissive]
make[1]: *** [.obj/release-shared-emb-auto/qdbusintegrator.o] Error 1
make[1]: *** Waiting for unfinished jobs....
-- CUT --

   So, select system architecture (via QT_ARCH) as aarch64 for
   AArch64 and its other variants

(From OE-Core rev: 5f191d86b8d60624d729b3b147c1dff818326dbd)

Signed-off-by: Krishnanjanappa, Jagadeesh <jagadeesh.krishnanjanappa@caviumnetworks.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-03 11:43:49 +01:00
..
0001-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch qt4: upgrade to version 4.8.6 2014-06-03 16:49:19 +01:00
0002-qkbdtty_qws-fix-build-with-old-kernel-headers.patch qt4: upgrade to version 4.8.6 2014-06-03 16:49:19 +01:00
0003-webkit2-set-OUTPUT_DIR-value-if-empty.patch qt4: upgrade to version 4.8.6 2014-06-03 16:49:19 +01:00
0004-configure-qmake-is-already-built-in-qt4-tools-native.patch qt4: upgrade to version 4.8.6 2014-06-03 16:49:19 +01:00
0005-configure-set-LFLAGS-to-pick-up-zlib-from-staging.patch qt4: upgrade to version 4.8.6 2014-06-03 16:49:19 +01:00
0006-configure-Use-OE_QMAKE_-values-to-specify-Qt-utility.patch qt4: upgrade to version 4.8.6 2014-06-03 16:49:19 +01:00
0007-dbus-Remove-const-usage-that-causes-compile-failure-.patch qt4: fix bug tracker URLs for patches 2014-09-29 12:12:45 +01:00
0008-qmake.pro-Allow-building-a-separate-qmake-for-the-ta.patch qt4: upgrade to version 4.8.6 2014-06-03 16:49:19 +01:00
0009-qmake-fix-source-file-references-in-qmake.pri.patch qt4: upgrade to version 4.8.6 2014-06-03 16:49:19 +01:00
0010-configure-Hack-to-not-use-the-pg_config-of-the-host-.patch qt4: upgrade to version 4.8.6 2014-06-03 16:49:19 +01:00
0011-freetype-host-includes.patch qt4: upgrade to version 4.8.6 2014-06-03 16:49:19 +01:00
0012-Add-2bpp-support.patch qt4: fix bug tracker URLs for patches 2014-09-29 12:12:45 +01:00
0013-configure-add-crossarch-option.patch qt4: upgrade to version 4.8.6 2014-06-03 16:49:19 +01:00
0014-translations-fix-phony-translation-linking-error.patch qt4: upgrade to version 4.8.6 2014-06-03 16:49:19 +01:00
0015-configure-add-nostrip-for-debug-packages.patch qt4: upgrade to version 4.8.6 2014-06-03 16:49:19 +01:00
0016-configure-eval-QMAKE_CXX.patch qt4: upgrade to version 4.8.6 2014-06-03 16:49:19 +01:00
0017-configure-ensure-we-identify-the-compiler-as-g-in-co.patch qt4: upgrade to version 4.8.6 2014-06-03 16:49:19 +01:00
0018-configure-make-pulseaudio-a-configurable-option.patch qt4: upgrade to version 4.8.6 2014-06-03 16:49:19 +01:00
0019-Fixes-for-gcc-4.7.0-particularly-on-qemux86.patch qt4: upgrade to version 4.8.6 2014-06-03 16:49:19 +01:00
0021-configure-make-qt4-native-work-with-long-building-pa.patch qt4: upgrade to version 4.8.6 2014-06-03 16:49:19 +01:00
0027-tools.pro-disable-qmeegographicssystemhelper.patch qt4: upgrade to version 4.8.6 2014-06-03 16:49:19 +01:00
0028-Don-t-crash-on-broken-GIF-images.patch qt4: add patch for GIF denial-of-service vulnerability 2014-06-03 16:49:19 +01:00
0029-aarch64_arm64_fix_arch_detection.patch qt4: add aarch64 support 2014-12-23 10:18:18 +00:00
0030-aarch64_arm64_qatomic_support.patch qt4: add aarch64 support 2014-12-23 10:18:18 +00:00
0031-aarch64_arm64_mkspecs.patch qt4: add aarch64 support 2014-12-23 10:18:18 +00:00
0032-aarch64_add_header.patch qt4: add aarch64 support 2014-12-23 10:18:18 +00:00
0033-configure-support-c-0x-standard-for-directfd.patch qt4-embedded: support c++0x stand for directfb 2015-01-16 23:08:20 +00:00
0034-Fix-a-division-by-zero-when-processing-malformed-BMP.patch qt4: add patch for BMP denial-of-service vulnerability 2015-03-09 15:58:00 +00:00
Fix-QWSLock-invalid-argument-logs.patch qt4: Fix QT4 applications spamming "QWSLock::down(): Invalid argument" 2015-01-07 23:35:07 +00:00
add_check_for_aarch64_32.patch qt4-embedded: add checking for AArch64 ilp32 2015-05-03 11:43:49 +01:00
g++.conf qt4: Avoid duplicate flags in the g++-unix.conf 2014-08-11 12:12:34 +01:00
linux.conf qt4: upgrade to version 4.8.6 2014-06-03 16:49:19 +01:00
qte.sh qt4: upgrade to version 4.8.6 2014-06-03 16:49:19 +01:00