Comment 20 for bug 664431

Revision history for this message
Ricardo Salveti (rsalveti) wrote : Re: [Bug 664431] Re: QT on armel is built with NEON by default

On Thu, Oct 28, 2010 at 9:09 AM, Thiago Macieira <email address hidden> wrote:
> This is the actual commit that introduces runtime verification of processor features on ARM:
>  http://qt.gitorious.org/qt/qt/commit/5070c3ae331faf18f6997535356853cc61ef0ad7
>
> It was introduced before Qt 4.7.0rc1 so the Ubuntu build should have it.
>
> Therefore, there are two possibilities:
> 1) the detection mechanism is faulty and concluding that neon is present when it isn't
> 2) the detection mechanism is working but there's some unprotected Neon somewhere
>
> To check #1, please take a Qt built without "-no-neon", place it on a
> device without Neon and then run libQtCore.so.4. The last line of the
> output should be "Processor features:" and list probably nothing.
>
> If it is case #2, then can someone post a backtrace of the SIGILL?

I currently can't get the git code (download at 8k/s), so I checked
the 4.7.0 release tarball and this commit doesn't seems to be
included:
"""
$ vim qt-everywhere-opensource-src-4.7.0/src/corelib/tools/qsimd.cpp
---
#elif defined(QT_HAVE_IWMMXT)
    // runtime detection only available when running as a previlegied process
    static const bool doIWMMXT = !qgetenv("QT_NO_IWMMXT").toInt();
    features = doIWMMXT ? IWMMXT : 0;
    return features;
#elif defined(QT_HAVE_NEON)
    static const bool doNEON = !qgetenv("QT_NO_NEON").toInt();
    features = doNEON ? NEON : 0;
    return features;
"""

Will backport it and create a proper package to be tested, once I can
download the sources.