qemu-devel
[Top][All Lists]
Advanced

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

Re: contrib/plugins does not build on 32-bit host


From: Pierrick Bouvier
Subject: Re: contrib/plugins does not build on 32-bit host
Date: Fri, 13 Dec 2024 22:10:21 -0800
User-agent: Mozilla Thunderbird

On 12/13/24 21:29, Richard Henderson wrote:
On 12/13/24 21:44, Pierrick Bouvier wrote:
Hi Richard,

On 12/13/24 13:47, Richard Henderson wrote:
Hi,

Several of the recent contrib/plugins/ patches do not build on e.g. arm32.
All of the issues are related to casting between pointers and uint64_t; there 
is a Werror
generated for casting between pointers and integers of different sizes.

I suspect all of the instances will need to use separate structures to store 
uint64_t
within the hash tables.  The hash values themselves can use uintptr_t, as 
"hash" by
definition loses data.

The following is *not* a suggested patch, just touches every place with an 
error to
highlight all of the places.


This is something I already tried to fix this way, but alas, casting values is 
not enough,
we might lose information (in the case where guest is 64 bits). Some plugins 
need a
refactoring to allocate data dynamically, instead of hiding it under a pointer.

See this previous series:
https://patchew.org/QEMU/20240814233645.944327-1-pierrick.bouvier@linaro.org/

Finally, we discussed it was not worth the effort, and Alex simply deactivated 
plugins by
default for 32 bits platform, so it should not be built for arm 32 bits. If we 
really have
someone that needs this usecase, we might make the effort, but for now, it does 
not seem
worth the hassle.

Hmm.  I didn't delete my 32-bit build tree, but it certainly re-configured.  If 
plugins
are supposed to be disabled, something may be wrong there...


The 32 bits check is done in the configure script, not in meson part.
From a clean source tree, on a armhf machine, it is deactivated as expected.


r~


reply via email to

[Prev in Thread] Current Thread [Next in Thread]