[Buildroot] Split supported architectures for Qt Script and Qt Webkit
Vicente Olivert Riera
Vincent.Riera at imgtec.com
Mon Nov 24 10:44:21 UTC 2014
On 11/20/2014 11:51 AM, Vicente Olivert Riera wrote:
> Dear all,
>
> please I would like you read this email and provide some feedback before
> I start writing a patch.
>
> Currently in Buildroot we have a BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT
> variable indicating which architectures support Qt Webkit. We also make
> Qt Script depending on that variable, so we are assuming that Qt Script
> is supported for exactly the same architectures which support Qt Webkit,
> and that's not true.
>
> So I have done some tests to make clear which architectures support Qt
> Script and which ones support Qt Webkit, in order to create another
> variable called BR2_PACKAGE_QT_ARCH_SUPPORTS_SCRIPT.
>
> That way we will be able to fix some problems we can't fix properly
> right now. For instance, Qt Webkit is not supported for MIPS64 when
> using the n32 ABI, but Qt Script is actually supported. So, if we make
> BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT depending on !BR2_MIPS_NABI32 we
> will also disable Qt Script, because as I said before, Qt Script depends
> on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT, and we don't want that because
> Qt Script works.
>
> Related:
> http://lists.busybox.net/pipermail/buildroot/2014-November/111760.html
>
> I have also included Grantlee in the tests because is the only package
> which depends on Qt Script, so at the same time I do the tests we can
> know which architectures do support Qt Script but don't support
> Grantlee. There isn't any package depending on Qt Webkit.
>
> I have assigned a code to each kind of problem I have found, and the
> meaning of those codes are just below the table.
>
> +------------------+-----------+-----------+----------+--------------+
> | Architecture | Qt Script | Qt Webkit | Grantlee | Problem Code |
> +------------------+-----------+-----------+----------+--------------+
> | BR2_arcle | NO | NO | NO | 1 |
> | BR2_arceb | NO | NO | NO | 1 |
> | BR2_arm | YES | YES | YES | |
> | BR2_armeb | YES | YES | YES | |
> | BR2_aarch64 | YES | NO | YES | 2 |
> | BR2_bfin | NO | NO | NO | 1 |
> | BR2_i386 | YES | YES | YES | |
> | BR2_microblazeel | YES | YES | NO | 3 |
> | BR2_microblazebe | YES | YES | NO | 3 |
> | BR2_mips | YES | YES | YES | |
> | BR2_mipsel | YES | YES | YES | |
> | BR2_mips64 | YES | YES | YES | |
> | BR2_mips64el | YES | YES | YES | |
> | BR2_nios2 | YES | NO | NO | 4 |
> | BR2_powerpc | YES | YES | YES | |
> | BR2_powerpc64 | YES | YES | YES | |
> | BR2_powerpc64el | YES | YES | YES | |
> | BR2_sh | YES | YES | YES | |
> | BR2_sh64 | NO | NO | NO | 5 |
> | BR2_sparc | NO | NO | NO | 5 |
> | BR2_x86_64 | YES | YES | YES | |
> | BR2_xtensa | NO | NO | NO | 1 |
> +------------------+-----------+-----------+----------+--------------+
>
> Problem 1
> ---------
> There is no toolchain with NPTL for this architecture
>
> Problem 2
> ---------
> Qt Webkit fails to compile for aarch64:
>
> In file included from runtime/JSCell.h:31:0,
> from runtime/JSObject.h:31,
> from wtf/DateMath.cpp:79:
> runtime/JSValueInlineMethods.h: In constructor
> ‘JSC::JSValue::JSValue(JSC::JSCell*)’:
> runtime/JSValueInlineMethods.h:230:57: error: cast from ‘JSC::JSCell*’
> to ‘int32_t {aka int}’ loses precision [-fpermissive]
> u.asBits.payload = reinterpret_cast<int32_t>(ptr);
> ^
>
> Problem 3
> ---------
> Grantlee fails to link for microblaze:
>
> microblaze-buildroot-linux-gnu/bin/ld: fde encoding in
> CMakeFiles/grantlee_core.dir/engine.cpp.o(.eh_frame) prevents
> .eh_frame_hdr table being created.
> microblaze-buildroot-linux-gnu/4.9.2/../../../../microblaze-buildroot-linux-gnu/bin/ld:
> fde encoding in
> CMakeFiles/grantlee_core.dir/engine.cpp.o(.eh_framecollect2: error: ld
> returned 1 exit status
> microblaze-buildroot-linux-gnu/4.9.2/make[3]: ../.***
> [textdocument/lib/libgrantlee_gui.so.0.2.0] Error 1.
>
> Problem 4
> ---------
> Qt Gui fails to link for nios2. Both Qt Webkit and Grantlee packages
> depend on Qt Gui:
>
> linking ../../lib/libQtGui.so.4.8.6
> /home/ldap/vriera/work/mips-buildroots/mips32/output/host/opt/ext-toolchain/bin/../lib/gcc/nios2-linux-gnu/4.8.3/../../../../nios2-linux-gnu/bin/ld:
> BFD (Sourcery CodeBench Lite 2014.05-47) 2.24.51.20140217 assertion fail
> /scratch/sandra/nios2-linux-respin/obj/binutils-src-2014.05-47-nios2-linux-gnu-i686-pc-linux-gnu/bfd/elf32-nios2.c:1037
>
> Problem 5
> ---------
> I'm unable to build a toolchain for this architecture, and there isn't
> any external toolchain available.
>
> Best regards,
>
Nobody? :-(
--
Vicente Olivert Riera
Graduate Software Engineer, MIPS Processor IP
Imagination Technologies Limited
t: +44 (0)113 2429814
www.imgtec.com
More information about the buildroot
mailing list