[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 Dmitry,

> 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?

hm, actually, not so much. Perhaps I confused QT_POINTER_SIZE
and Q_PROCESSOR_WORDSIZE.

tglase@tglase:/tmp/qt5 $ cc -E -dD -I. QtCore/qprocessordetection.h | fgrep -e Q_PR -e __SIZEOF_POINTER__
#define __SIZEOF_POINTER__ 4
#define Q_PROCESSOR_X86 6
#define Q_PROCESSOR_X86_64
#define Q_PROCESSOR_WORDSIZE 8
#define QT_POINTER_SIZE __SIZEOF_POINTER__

> 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”.

Indeed, that does it.

> 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.

Yes. (Q_PROCESSOR_WORDSIZE is still wrong, though.)

> 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 can and will, thanks!

bye,
//mirabilos
-- 
tarent solutions GmbH
Rochusstraße 2-4, D-53123 Bonn • http://www.tarent.de/
Tel: +49 228 54881-393 • Fax: +49 228 54881-235
HRB 5168 (AG Bonn) • USt-ID (VAT): DE122264941
Geschäftsführer: Dr. Stefan Barth, Kai Ebenrett, Boris Esser, Alexander Steeg


Reply to: