[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#918545: qtdeclarative-opensource-src: FTBFS on x32: mis-detected as having amd64 JIT



Hi Thorsten!

On Mon, Jan 07, 2019 at 12:15:25PM +0100, Thorsten Glaser wrote:
> src/qml/jsruntime/qv4global_p.h line 94 always triggers,
> because x32 is detected as amd64 (Q_PROCESSOR_X86 and
> Q_PROCESSOR_X86_64 are defined and QT_POINTER_SIZE is 8)
> by qtbase5-dev (src/corelib/global/qprocessordetection.h).

Are you sure it’s line 94 and not line 91?

QT_POINTER_SIZE is taken directly from GCC’s __SIZEOF_POINTER__, and
according to the comment [1] it “catches all known cases of ILP32 builds”.
So its value should be 4, not 8 on x32. If for some reason it’s not the
case, then we should fix _that_ in the first place.

In case it is line 91, then simply changing defined(Q_PROCESSOR_X86) to
defined (Q_PROCESSOR_X86_32) should be enough. Can you try that and
see if it helps?

I should add that this code used to rely on __ILP32__ macro, however it was
replaced with QT_POINTER_SIZE checks in [2].

[1]: https://code.qt.io/cgit/qt/qtbase.git/tree/src/corelib/global/qprocessordetection.h?h=5.11#n349
[2]: https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=0fada59c49a06cec

--
Dmitry Shachnev

Attachment: signature.asc
Description: PGP signature


Reply to: